#include <iostream>

/**
 * C++ 定义新的异常
 *  您可以通过继承和重载 exception 类来定义新的异常。下面的实例演示了如何使用 std::exception 类来实现自己的异常：
 */

struct MyException : public std::exception{
    const char * what () const throw(){
        return "C++ Exception";
    }
};

int main() {

    try {
        throw MyException();
    }catch (MyException &e){
        std::cout << "MyExcetion caught " << std::endl;
        std::cout << e.what() << std::endl;
    } catch (std::exception &e) {
        //其他错误
    }

    return 0;
}
